package org.lemon.cla.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.lemon.cla.enums.ClubMemberRoleEnum;
import org.lemon.cla.enums.ClubMemberStatusEnum;

import java.time.LocalDateTime;

@Data
@Schema(description = "社团成员模糊查询请求对象")
public class ClubMemberSearchRequest {

    @Schema(description = "用户ID (精确匹配)", example = "1")
    private Long userId;

    @Schema(description = "社团ID (精确匹配)", example = "1")
    private Long clubId;

    @Schema(description = "社团内角色", example = "成员", allowableValues = {"成员", "社长"})
    private ClubMemberRoleEnum role;

    @Schema(description = "成员状态", example = "申请中", allowableValues = {"申请中", "已加入", "已拒绝"})
    private ClubMemberStatusEnum status;

    @Schema(description = "加入时间起始点", example = "2024-01-01T00:00:00")
    private LocalDateTime joinTimeStart;

    @Schema(description = "加入时间结束点", example = "2024-12-31T23:59:59")
    private LocalDateTime joinTimeEnd;
}